package org.darcy.service.check;

import java.util.List;

import org.darcy.entity.CheckDelivery;
import org.darcy.framework.generic.GenericService;
import org.darcy.framework.model.PageData;
import org.darcy.framework.model.PageParam;
import org.darcy.vo.project.CapitalItem;
import org.darcy.vo.project.CapitalSummary;

/**
 * CheckDelivery服务接口
 */
public interface CheckDeliveryService extends GenericService<CheckDelivery> {

	/**
	 * 根据合同id获取派工单列表
	 * 
	 * @param contractId 合同id
	 */
	List<CheckDelivery> getList(Integer contractId);

	/**
	 * 获取CheckDelivery详情
	 * 
	 * @param id    对象id
	 * 
	 * @param index 派工单流程阶段，0：派工单；1：派工；2；采样；... 10：服务
	 */
	CheckDelivery getDetail(Integer id);

	/**
	 * 更新工作流
	 * 
	 * @param record 派工单信息
	 * 
	 */
	CheckDelivery updateFlow(CheckDelivery record);

	/**
	 * CheckDelivery列表(分页)
	 * 
	 * @param param 分页参数
	 */
	PageData<CheckDelivery> page(PageParam<CheckDelivery> param);

	/**
	 * 获取财务统计数据
	 * 
	 */
	List<CapitalItem> getCapitalSummary(CapitalSummary param);

	/**
	 * 归档派工单
	 * 
	 * @param id 对象id
	 */
	int archive(Integer id);

}
